//
//@File    :	6.16_sumafile.cpp
//@Time    :	2021/08/09 15:36:35
//@Auther  :	Sun Sheng
//@Contact :	970340843@qq.com
//@Desc    :	function with array argument
//

#include <iostream>
#include <fstream>
#include <cstdlib>
const int SIZE = 60;
using namespace std;
int main()
{
    char filename[SIZE];
    ifstream inFile;//object for handing file input
    cout<<"Enter name of data file: ";
    cin.getline(filename,SIZE);
    inFile.open(filename);
    if (!inFile.is_open())
    {
        cout<<"Could not open the file "<<filename<<endl;
        cout<<"Program terminating.\n";
        exit(EXIT_FAILURE);
    }
    double value;
    double sum = 0.0;
    int count = 0;//number of items read

    inFile>>value;//get first value
    while (inFile.good())//while input good and not at EOF
    {
        ++count;//one more item read
        sum +=value;//calculate running total
        inFile>>value;//get next value
    }
    if(inFile.eof())
    {
        cout<<"End of file reached.\n";
    }
    else if(inFile.fail())
    {
        cout<<"Input terminated by data mismatch.\n";
    }
    else
    {
        cout<<"Input terminated for unknown reason.\n";
    }
    if (count==0)
    {
        cout<<"No data processed.\n";
    }
    else
    {
        cout<<"Items read: "<<count<<endl;
        cout<<"Sum: "<<sum<<endl;
        cout<<"Average: "<<sum/count<<endl;
    }
    inFile.close();
    system("pause");
    return 0;
}